# models/user.py
from utils.database import db
from datetime import datetime

class User(db.Model):
    """用户信息表"""
    __tablename__ = 'users'
    
    id = db.Column(
        db.Integer, 
        primary_key=True,
        comment='用户ID，自动递增'
    )
    username = db.Column(
        db.String(50), 
        unique=True,
        comment='用户名，唯一登录标识'
    )
    display_name = db.Column(
        db.String(50),
        comment='显示名称，用于界面展示'
    )
    roles = db.Column(
        db.JSON,
        comment='JSON数组格式，存储用户角色ID，示例：[1,3]'
    )
    email = db.Column(
        db.String(120), 
        unique=True,
        comment='电子邮箱地址，用于通知发送'
    )
    department = db.Column(
        db.String(100),
        comment='所属部门，示例：技术研发部'
    )
    is_active = db.Column(
        db.Boolean,
        default=True,
        comment='账户状态：True-启用，False-停用'
    )
    created_at = db.Column(
        db.DateTime, 
        default=datetime.utcnow,
        comment='账户创建时间，UTC时区'
    )
